
/*
*Released on 28th June 2008.
*Any violations can be reported at paritosh@wikiocean.net
*What is treated as violations can be found at www.wikiocean.net/ppl1-voilations*
******************************************************************************
* The contents of this file are subject to POOL Public License 1.0 and later.
* POOL Public License is based on Affero GPL v3 and additional conditions.
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the Affero GPL v3 License at http://www.gnu.org/licenses/agpl.html
* You may obtain a copy of the POOL Public License 1.0 or later at www.wikiocean.net/license/ppl.html
* Software distributed under POOL Public License 1.0 is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Initial Developer of the Original Code is Paritosh Pungaliya (C) 2008. All Rights Reserved.
******************************************************************************
* Objective of the additional terms (license)
* 1) Is to extend the software freedom to freedom to work.
* 2) To ensure that knowledge is free from monopoly of agencies.
* 3) To avoid a situation where big corporate or investor can buy out free software groups and companies and then start milking the communities built around it.
* (this trend can be seen how the freedom is curtailed in companies that get Venture Capital funding.)
******************************************************************************
*/

package  validation;

import java.util.Hashtable;

import logger.PoolLogger;

import utility.Input;
import database.RecordSearch;
import dbmanager.DBManager;
import dbmanager.GetIdName;

public class Istype  implements Validation 
{
	String actualvalue;
	String validationvalue;
	GetIdName gid;
	String value;
	PoolLogger pl;
	
	public Istype() {
		// logger
		pl = (PoolLogger) PoolLogger.getLogger(this.getClass().getName());
	}
	
	public String getMessage() 
	{
		pl.info("Value must be of type "+validationvalue);
		pl.debug("Value must be of type "+validationvalue);
		pl.warn("Value must be of type "+validationvalue);
		pl.fatal("Value must be of type "+validationvalue);
		pl.error("Value must be of type "+validationvalue);
		pl.trace("Value must be of type "+validationvalue);
		return "Value must be of type "+validationvalue;
	}
	

	public void initPool()
	{
		gid= new GetIdName();
	}

	public boolean validate(String Value) 
	{	
		return false;
	}
	
	public boolean validate(String actualvalue, String validationvalue)
	{
		try
		{
			/*getProperty getproperty = new getProperty(db);
			String id= gid.getId(actualvalue);
			String validationid= gid.getId(validationvalue);
			 TYPE= gid.getId(TYPE);
			getproperty.setMid(id);
			getproperty.setPid(validationid);			
			String type = getproperty.getValue();*/
			String id= gid.getId(actualvalue);
			String validationid= gid.getId(validationvalue);
			//String MASTERPATH = Input.MASTERREPORTSPATH + validationid + "//" +validationid  + "_pv"+ Input.FILRFORMAT;
			/*file.SearchRecord sr = new file.SearchRecord(MASTERPATH);
			sr.fileOpen();*/
			Hashtable<Object, Object> temp =new Hashtable<Object, Object>();
			temp.put("mid", id);
			temp.put("pv", validationid);
			temp.put("td","null");
			RecordSearch ps = new RecordSearch();
			ps.setConditionMap(temp);
			String line[] = ps.getArrayFromResultSet();
			/*String line[] = sr.getRecordSet(temp);
			sr.fileClose();*/
			if(line.length==0)
				return false;
			else
				return true;
			/*
			if(type.toLowerCase().equals(validationvalue.toLowerCase()))
				return false;
			else
				return true;*/
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
			return true;
		}
	}

	public boolean validate(String Value, String ConditionValue, String Refvalue) 
	{
		this.actualvalue = Value;
		this.validationvalue = ConditionValue;
		return validate(Value, ConditionValue);
	}

	public void setBasicvalue(String value) 
	{
		this.value = value;	
	}
}
